/*
 *      Definitions for FTP; see RFC-765
 *
 *      Copyright © 1994 AmiTCP/IP Group,
 *                       Network Solutions Development, Inc.
 *                       All rights reserved.
 */

/*
 * Reply codes.
 */

#define PRELIM          1       /* positive preliminary */
#define COMPLETE        2       /* positive completion */
#define CONTINUE        3       /* positive intermediate */
#define TRANSIENT       4       /* transient negative completion */
#define ERROR           5       /* permanent negative completion */

/*
 * Type codes
 */

#define TYPE_A          1       /* ASCII */
#define TYPE_E          2       /* EBCDIC */
#define TYPE_I          3       /* image */
#define TYPE_L          4       /* local byte size */

/*
 * Form codes
 */

#define FORM_N          1       /* non-print */
#define FORM_T          2       /* telnet format effectors */
#define FORM_C          3       /* carriage control (ASA) */

/*
 * Structure codes
 */
#define STRU_F          1       /* file (no record structure) */
#define STRU_R          2       /* record structure */
#define STRU_P          3       /* page structure */

/*
 * Mode types
 */

#define MODE_S          1       /* stream */
#define MODE_B          2       /* block */
#define MODE_C          3       /* compressed */

/*
 * Record Tokens
 */

#define REC_ESC                 "\377"  /* Record-mode Escape */
#define REC_EOR                 "\001"  /* Record-mode End-of-Record */
#define REC_EOF                 "\002"  /* Record-mode End-of-File */

/*
 * Block Header
 */

#define BLK_EOR                 $80             /* Block is End-of-Record */
#define BLK_EOF                 $40             /* Block is End-of-File */
#define BLK_ERRORS      $20             /* Block is suspected of containing errors */
#define BLK_RESTART     $10             /* Block is Restart Marker */
#define BLK_BYTECOUNT   2       /* Bytes in this block */

